#pragma once
#include <string>

class TokenStream
{
public:
  TokenStream(void);

  virtual ~TokenStream(void);

  void ResetStream(void);

  void SetTokenStream(char* data);

  bool GetNextToken(std::string* buffer, char* delimiters, int totalDelimiters);

  bool MoveToNextLine(std::string* buffer);

private:

  bool IsValidIdentifier(char c);
  bool IsValidIdentifier(char c, char* delimiters, int totalDelimiters);

  int m_startIndex, m_endIndex;
  std::string m_data;
};

